Contenidos

logo
  • Instalación de software
  • Ventajas/Desventajas de R y RStudio
  • Entorno de trabajo
  • Objetos de trabajo
  • Instalación de Paquetes estadísticos
  • Importar Datos
  • Tipos de Variables
  • Valores Especiales
  • Aprender a aprender en línea
  • Estadística Descriptiva Básica
  • Configuración de datos

Conceptos Previos- Funciones

“To understand computations in R, two slogans are helpful: Everything that exists is an object. Everything that happens is a function call.”- John Chambers


  • Una función define relaciones entre distintos objetos
  • Permite automatizar tareas
  • Las funciones pueden contener otras funciones (“anidadas”/“nested”)
  • Hay funciones tan complejas que requieren muchos argumentos, referencias, condiciones, etc.
  • Toda función tiene un nombre, un argumento (puede estar definido por defecto) y un cuerpo
  • Los resultados de las operaciones pueden arrojar advertencias (para considerar) o errores (la ejecución para). Gran parte de los errores y advertencias están programadas, pueden ser buscadas en la red.

Conceptos Previos- Paquetes Estadísticos

  • Una de las características que hace la diferencia entre otros programas.
  • Un paquete estadístico contiene distintas funciones (comandos).
  • Son extensiones de R: Contienen código, datos y documentación estandarizada.
  • Los paquetes en general se alojan en repositorios.
  • Las librerías son un directorio local que contiene los paquetes instalados
  • En general las librerías tienen archivos de documentación similares a formato Latex, con información de sus versiones, la fuente, etc.

Conceptos Previos- Repositorio CRAN

  • Abra Rstudio y presione Alt + T + G

Objetos de Trabajo

Almacenan datos, tienen distintas estructuras que le dan soporte. A continuación presentaremos las más básicas, junto con sus propiedades:

Vectores

  • Aloja elementos/valores del mismo tipo (Posteriormente podrá ver los Tipos de Variables)
  • De ahí que elementos de distintos tipos serán coercionados a adoptar el tipo de caracter
  • Permite tomar un rango de ellos, excluir otros elementos, especificar los que se obtendrán mediante un criterio booleano.
  • Son el fundamento de muchas otras estructuras.
  • Permite ser ordenado
  • Si se utilizan vectores de distinto largo, las funciones pueden reciclarse

Factores

  • Son vectores que alojan variables de tipo categórico u ordinal
  • La ventaja es que las etiquetas se graban sólo una vez
  • Otra es que permite informar a otros algoritmos respecto al tipo de datos que alojan (ej. regresión logística)

Listas

  • Contienen elementos de distintos tipos, hasta objetos, de manera ordenada
  • De ahí que pueden estar anidados entre ellos
  • Los elementos pueden no estar relacionados entre sí
  • La función list() permite generarla. Es opcional agregarle nombres a cada elemento, pero permite llamarlos con mayor facilidad.

Matrices

  • Forma tabular, bidemnsional y de naturaleza homogénea
  • Coarta su formato si se incorporan elementos de distinto tipo
  • Admite nombres a sus dimensiones (dimnames)
  • Generalmente numéricos
  • [x,y]

Array

  • Tabla multidimensional
  • Tiene filas, columnas y otras capas

Data frame

  • Bidimensional
  • Similar a una base de datos .csv o una planilla excel (aunque más restringida)
  • Se entiende como una lista de vectores o factores con la misma extensión (largo de columna 1 será el mismo que el del resto de las columnas)

Tibbles

Ejemplos, Objetos de Trabajo

  • ¿Lista o vector?
c(4,6,8,10)
## [1]  4  6  8 10

-¿Lista o vector?

c("d",6,"v",10)
## [1] "d"  "6"  "v"  "10"
matrix(1:4, nrow = 2, ncol = 2)
##      [,1] [,2]
## [1,]    1    3
## [2,]    2    4
matrix(1:4, nrow = 2, ncol = 2)*matrix(c(46,57,32,88),nrow=2)
##      [,1] [,2]
## [1,]   46   96
## [2,]  114  352
  • Matriz o Array
x<-array(c(52,41,25,85,136,128,28,59,65,16,1,133),c(2,3,2))
dimnames(x)<-list(c("H","M"),c("desempleado","empleado","inactivo"),c("santiago","valparaiso"))
print(x)
## , , santiago
## 
##   desempleado empleado inactivo
## H          52       25      136
## M          41       85      128
## 
## , , valparaiso
## 
##   desempleado empleado inactivo
## H          28       65        1
## M          59       16      133

Instalación de Paquetes Estadísticos

  • Abra Rstudio, cree un proyecto de nombre “Curso 2”,
  • Abra un Script, escriba en él y ejecútelo (Run)
set.seed(4321) #Creamos una semilla para la generación de datos, 
#de manera que los podamos reproducir
datos<- rnorm(200) #Generamos 200 números aleatorizados 
#siguiendo distribución normal.
promedio_curso <- function(x) {sum(x)/length(x)} #creamos una función que suma 
#datos y los divide por su largo
print(promedio_curso(datos))
## [1] 0.05299248
print(sum(datos)) #la suma de los datos
## [1] 10.5985
print(length(datos)) #el largo de los datos
## [1] 200
.libPaths() # get library location
## [1] "C:/Users/andre/Documents/R/win-library/3.6"
## [2] "C:/Program Files/R/R-3.6.2/library"

Instalación de Paquetes Estadísticos

Instalación de Paquetes Estadísticos(2)

  • Ingrese en la consola o en un Script, la instalación del paquete “dplyr”, install.packages("dplyr")
  • Habiendo hecho esto, usted está instalando el paquete, pero no lo ha activado ni lo ha abierto
  • Para activarlo momentáneamente (library(dplyr)).
    • Muchos autores no recomiendan “require”, sino “library” (https://stackoverflow.com/q/5595512/9975513)
    • Una ventaja de require entrega un valor binario si el paquete se cargó o no (VERDADERO/FALSO)
    • La amenaza es que si uno corre líneas de código, se obvia el error
    • Esto puede llevar a resultados erróneos (ej: aplicando funciones de otros paquetes con mismo nombre)
  • Existen otros argumentos de la función install.packages:
    • Ubicación de la librería, Repositorio (CRAN, MRAN, Bioconductor,local, etc.), instalar paquetes dependientes, etc.

Niveles de Medición

Niv. Medición Clasificación Orden Un. Medida Constante Cero Absoluto
Nominal X
Ordinal X X
Intervalo X X X
Razón X X X X


  • Variables categóricas, cualitativas, no métricas
    • Nominales
    • Ordinales
  • Variables cuantitativas, métricas
    • De Intervalo
    • Razón o Proporción
    • Continuas
    • Discretas

Niveles de Medición (continuación)

\(^{Fuente: Ritchey, 2002, p. 47}\)

Tipos de Variables

Existen 5 tipos de variables (modos) básicas o “atómicas” en R (dependiendo del tipo de valores que se le asigna a cada objeto). Estos determinan cómo los datos serán formateados, mostrados y tratados.

  • Numérico (numeric): valores numéricos, incluye decimales. {2,1.5,3}

  • Entero (integer): números enteros, no incluye decimales. {4,8,34}

  • Caracter (character): Variables Cadena (alfanuméricas). "andres", "pedro"

  • Lógico (logical): valores lógicos, verdadero o falso. {TRUE/FALSE, 0/1}

Además, es posible tratar las variables (“casting”) como factores. En este caso, las variables corresponden a valores enteros que tienen etiquetas para los distintos valores. Por otra parte, existen estructuras más complejas, como las fechas (dttm, POSixct), que provienen de estas formas básicas y que van más allá del alcance de este curso

Otros Valores Especiales

  • NA (no disponibles), puede entenderse como valores perdidos
  • La infinidad se entiende como Inf
  • NaN es un valor indefinido NaN (not a number)
  • Sólo hay una propiedad NULL, similar a largo 0
is.finite(c(2,3,4,5)/c(0,1)) # se recicla
## [1] FALSE  TRUE FALSE  TRUE
is.infinite(matrix(c(1,2,5),nrow=2,ncol=2)/matrix(c(0,4),nrow=2,ncol=2))  #va a reciclar la primera observación
##       [,1]  [,2]
## [1,]  TRUE  TRUE
## [2,] FALSE FALSE
is.nan(c(2/5,6/6,0/0))
## [1] FALSE FALSE  TRUE
is.na(c(1,2,NA,4,5))
## [1] FALSE FALSE  TRUE FALSE FALSE
complete.cases(c(1,2,NA,4,5))
## [1]  TRUE  TRUE FALSE  TRUE  TRUE
anyNA(c(1,2,NA,4,5))
## [1] TRUE
anyNA(c(1,2,3,4,5))
## [1] FALSE
is.null(c(1,2,3,4,5))
## [1] FALSE
is.null(c(1,2,NA,4,5))
## [1] FALSE
is.null(c())
## [1] TRUE

Ejercicio 1

Juego de Cultura - La regla que aplicará es la siguiente: “a todas las palabras que digan deberán agregarle la frase ‘por celular’” - Sus compañeros dicen lo siguiente: c("Debo comprar tickets para mañana", "Qué bueno sería juntarnos", "Voy a preparar un jugo") - La función paste0 permite pegar elementos sin separación

objeto <- "silencio"
paste0("Simón dice", objeto)
## [1] "Simón dicesilencio"
#considere que no agrega espacios, por lo que debe agregarlos usted
paste0("Simón dice", ", \'", objeto,"\'")
## [1] "Simón dice, 'silencio'"
  • Genere un objeto con las palabras utilizadas por sus compañeros de juego
  • Agregue la frase “por celular”

Fuentes

  • Hansen, M., Nolan, D. & Temple, D. (2008). Introduction to the R Language: Functions. Workshop: Integrating Computing into the Statistics Curricula. U.C. Berkeley. Enlace
  • Wickham, H. & Grolemund, G. Proyecto de traducción colaborativa de “R para Ciencia de Datos”.https://es.r4ds.hadley.nz/
  • Ritchey F. (2002). “Estadística para las Ciencias Sociales”. Editorial Mc Graw Hill Interamericana editores S.A. de CV. México. www.shorturl.at/pvK37
  • El ícono del engranaje fue elaborado por Eucalyp from www.flaticon.com
  • Data Flair. R Tutorials. https://data-flair.training/blogs/r-data-types/
  • Leisch F. (2008). Creating R packages: a tutorial. http://cran.r-project.org/doc/contrib/Leisch-CreatingPackages.pdf.